package com.example.home_stretch;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.builder.TimePickerBuilder;
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.bigkoo.pickerview.view.TimePickerView;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class Sjxzq extends AppCompatActivity {
    //创建三个集合，一级套一级
    private List<String> zdy0=new ArrayList<>();
    private ArrayList<ArrayList<String>>zdy1=new ArrayList<>();
    private ArrayList<ArrayList<ArrayList<String>>>zdy2=new ArrayList<>();
    @BindView(R.id.tv_timexzq)
    TextView tvTimexzq;
    @BindView(R.id.tv_zdyxzq)
    TextView tvZdyxzq;
    private TimePickerView time;//时间选择器
    private OptionsPickerView zdy;//自定义选择器
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sjxzq);
        ButterKnife.bind(this);
        initTimePicker();
        initzdyPicker();
    }
    private void initzdyPicker(){
        zdy0.add("上单");
        zdy0.add("中单");
        ArrayList<String>lol2=new ArrayList<String>();
        lol2.add("德莱厄斯");
        lol2.add("俄洛伊");
        ArrayList<String>lol3=new ArrayList<String>();
        lol3.add("加里奥");
        lol3.add("疾风剑豪");
        zdy1.add(lol2);
        zdy1.add(lol3);
        ArrayList<ArrayList<String>>lol4=new ArrayList<>();
        ArrayList<String>lol5=new ArrayList<String>();
        lol5.add("出血");
        lol5.add("大杀四方");
        lol5.add("致残打击");
        lol5.add("无情铁手");
        lol5.add("诺克萨斯断头台");
        lol4.add(lol5);
        lol5=new ArrayList<String>();
        lol5.add("古神先知");
        lol5.add("触手粉碎");
        lol5.add("严厉教导");
        lol5.add("灵魂考验");
        lol5.add("信仰之跃");
        lol4.add(lol5);
        ArrayList<ArrayList<String>>lol6=new ArrayList<>();
        lol5=new ArrayList<String>();
        lol5.add("巨像重击");
        lol5.add("战争罡风");
        lol5.add("杜朗护盾");
        lol5.add("正义重拳");
        lol5.add("英雄登场");
        lol6.add(lol5);
        lol5=new ArrayList<String>();
        lol5.add("浪客之道");
        lol5.add("斩钢闪");
        lol5.add("风之障壁");
        lol5.add("塔前斩");
        lol5.add("狂风绝息斩");
        lol6.add(lol5);
        zdy2.add(lol4);
        zdy2.add(lol6);
        initOptionsPicker();
    }
    //设置三级联动的方法，zdy0,zdy1,zdy2是上面自己创建的三个集合
    private void initOptionsPicker(){
        zdy=new OptionsPickerBuilder(Sjxzq.this, new OnOptionsSelectListener() {
            @Override
            public void onOptionsSelect(int options1, int options2, int options3, View v) {
                String zd=zdy0.get(options1)
                        +zdy1.get(options1).get(options2)
                        +zdy2.get(options1).get(options2).get(options3);
                tvZdyxzq.setText(zd);
            }
        })
                //自定义选择器的样式
                .setSubmitText("确定")//确定按钮文字
                .setCancelText("取消")//取消按钮文字
                .setTitleText("选择")//标题
                .setSubCalSize(18)//确定和取消文字大小
                .setTitleSize(20)//标题文字大小
                .setTitleColor(Color.BLACK)//标题文字颜色
                .setSubmitColor(Color.BLUE)//确定按钮文字颜色
                .setCancelColor(Color.BLUE)//取消按钮文字颜色
                .setTitleBgColor(0xFF333333)//标题背景颜色 Night mode
                .setBgColor(0xFFffffff)//滚轮背景颜色 Night mode
                .setContentTextSize(18)//滚轮文字大小
                .setLabels("", "", "")//设置选择的三级单位
                .isCenterLabel(false) //是否只显示中间选中项的label文字，false则每项item全部都带有label。
                .setCyclic(false, false, false)//循环与否
                .setSelectOptions(1, 1, 1)  //设置默认选中项
                .setOutSideCancelable(false)//点击外部dismiss default true
                .isDialog(true)//是否显示为对话框样式
                .isRestoreItem(true)//切换时是否还原，设置默认选中第一项。
                .build();
        zdy.setPicker(zdy0,zdy1,zdy2);
    }
    //
    private void initTimePicker(){
        //new时间选择器的弹窗
        time=new TimePickerBuilder(Sjxzq.this, new OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
            }
        }).build();
    }
    @OnClick({R.id.tv_timexzq, R.id.tv_zdyxzq})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.tv_timexzq:
                time.show();
                break;
            case R.id.tv_zdyxzq:
                zdy.show();
                break;
        }
    }
}
